/**
 * UserMapper.java
 * Version 1.0.0
 * Created on 2018年7月7日
 *
 */
package com.yincheng.oes.sso.mapper;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.yincheng.oes.sso.entity.User;

/**
 * @author yangsy
 * @version 1.0.0
 * @since
 * 创建时间：2018年7月7日
 * 功能描述：用户表的增删改查接口定义
 * 邮箱地址：446948434@qq.com
 */
@Repository
public interface UserMapper {

    /**
     * 新增用户基本信息
     *
     * @param user
     * @return
     */
    int insert(User user);

    /**
     * 更新用户基本信息
     *
     * @param user
     * @return
     */
    int update(User user);

    /**
     * 修改用户状态
     *
     * @param userId
     * @return
     */
    int changeUserStatus(String userId);

    /**
     * 根据用户id获取用户信息
     *
     * @param userId
     * @return
     */
    User selectByUserId(String userId);

    /**
     * 根据用户账号获取用户信息
     *
     * @param userAccount
     * @return
     */
    User selectByUserAccount(String userAccount);

    /**
     * 查询所有已激活的用户信息列表
     *
     * @return
     */
    List<User> selectAllUsersActived();

    /**
     * 查询所有的用户信息列表
     *
     * @return
     */
    List<User> selectAllUsers();

    /**
     * 根据试卷id查询未被推送试卷的学生列表
     *
     * @param paperId
     * @return
     */
    List<User> selectUnpushedStudents(String paperId);

    /**
     * 根据角色id获取用户列表
     *
     * @param roleId
     * @return
     */
    List<User> selectByRoleId(String roleId);
}
